<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
      /* 
      L.featureGroup 和 L.layerGroup 都是 Leaflet.js 中用于组合多个图层的容器类，
      但它们有一些区别，主要在于对待图层的方式和一些功能上的不同。
      */
/* 
1. L.featureGroup:
特点： L.featureGroup 是一个包含 Leaflet 地图要素（features）的容器，
可以包含点、线、面等不同类型的要素。此外，L.featureGroup 还有一些额外的功能，
如自动缩放地图以适应所有包含的要素，以及处理鼠标事件等。
 */
    // 示例：
   /*  var featureGroup = L.featureGroup().addTo(map);

    var marker = L.marker([51.5, -0.09]).addTo(featureGroup);
    var polygon = L.polygon([...]).addTo(featureGroup);

    // 自动缩放地图以适应所有要素
    map.fitBounds(featureGroup.getBounds()); */

    /* 
    2.L.layerGroup:
    特点： L.layerGroup 是一个简单的图层组合容器，它可以包含任何类型的 Leaflet 图层，
    不仅仅是地图要素。它的主要目的是将多个图层组织在一起，
    以便可以一次性添加或删除它们。
    */
// 示例：
   /* 
    var layerGroup = L.layerGroup().addTo(map);
    var tileLayer = L.tileLayer('http://{s}.example.com/{z}/{x}/{y}.png').addTo(layerGroup);
    var marker = L.marker([51.5, -0.09]).addTo(layerGroup);
   */

   /* 
   总结：
   L.featureGroup 主要用于组合 Leaflet 地图要素，提供了一些额外的功能，
   如自动缩放地图以适应要素。

    L.layerGroup 是一个通用的图层组合容器，可以包含任何类型的 Leaflet 图层，
    它没有 L.featureGroup 中关于要素的一些特定功能。

    在使用时，选择使用 L.featureGroup 还是 L.layerGroup 取决于你的需求。
    如果主要是组合 Leaflet 地图要素，并希望利用一些额外的功能，
    那么使用 L.featureGroup 是一个不错的选择。如果只是简单地组合图层，
    不涉及特定要素的功能，那么 L.layerGroup 可能更适合。
   */
    </script>
</body>
</html>